#define _CRT_SECURE_NO_WARNINGS 1
//
//#include<stdio.h>
//int main()
//{
//	int a[3][3] = { {1,2,3},{4,5,6},{7,8,9} };
//	int b = 0;
//	scanf("%d", &b);
//	int i = 0;
//	int j = 2;
//	int c = 1;
//	while (j>=0&&i<3)
//	{
//		if (a[i][j] > b)
//		{
//			j--;
//		}
//		if (a[i][j] < b)
//		{
//			i++;
//		}
//		if (a[i][j] == b)
//		{
//			printf("yes");
//			c = 0;
//			break;
//		}
//		
//		
//	}
//	
//	if (c)
//	{
//		printf("no");
//	}
//	return 0;
//}

//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	for (a = 'a'; a <= 'd'; a++)
//	{
//		if ((a != 'a') + (a == 'c') + (a == 'd') + (a != 'd') == 3)
//		{
//			printf("%c", a);
//		}
//	}
//}

#include<stdio.h>
int main()
{
	int a[30] = { 1 };
	int b = 0;
	scanf("%d", &b);

	if (b != 0)
	{
		printf("1\n");
	}
	else
	{
		printf("sb");
	}
	for (int i = 1; i < b; i++)
	{
		for (int j = i; j > 0; j--)
		{
			a[j] += a[j - 1];
		}
		for (int j = 0; j < i; j++)
		{
			printf("%d ", a[j]);
		}
		printf("1\n");
	}
	return 0;
}